Behavioural Types for Actor Systems

نویسنده

  • Silvia Crafa
چکیده

Recent mainstream programming languages such as Erlang or Scala have renewed the interest on the Actor model of concurrency. However, the literature on the static analysis of actor systems is still lacking of mature formal methods. In this paper we present a minimal actor calculus that takes as primitive the basic constructs of Scala’s Actors API. More precisely, actors can send asynchronous messages, process received messages according to a pattern matching mechanism, and dynamically create new actors, whose scope can be extruded by passing actor names as message parameters. Drawing inspiration from the linear types and session type theories developed for process calculi, we put forward a behavioural type system that addresses the key issues of an actor calculus. We then study a safety property dealing with the determinism of finite actor communication. More precisely, we show that well typed and balanced actor systems are (i) deadlock-free and (ii) any message will eventually be handled by the target actor, and dually no actor will indefinitely wait for an expected message.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Variable Structure Behavioural Controller for Multi-agent Systems

In previous papers authors have considered agents as inertia-less self driven particles and designed a flocking algorithm. Application of this algorithm to agents with considerable inertial characteristics needs a behavioural controller. The controller uses the local information and helps every agent to imitate the desired behaviour as a member of the flocking frame which covers the main is...

متن کامل

Dagstuhl Seminar 17051 Theory and Applications of Behavioural Types

This report documents the programme and the outcomes of Dagstuhl Seminar 17051 “Theory and Applications of Behavioural Types”. Behavioural types describe the dynamic aspects of programs, in contrast to data types, which describe the fixed structure of data. Perhaps the most well-known form of behavioural types is session types, which are type-theoretic specifications of communication protocols....

متن کامل

Mixing Metaphors: Actors as Channels and Channels as Actors

Channeland actor-based programming languages are both used in practice, but the two are often confused. Languages such as Go provide anonymous processes which communicate using buffers or rendezvous points—known as channels—while languages such as Erlang provide addressable processes—known as actors—each with a single incoming message queue. The lack of a common representation makes it difficul...

متن کامل

Behavioural types for non-uniform memory accesses

Concurrent programs executing on NUMA architectures consist of concurrent entities (e.g. threads, actors) and data placed on different nodes. Execution of these concurrent entities often reads or updates states from remote nodes. The performance of such systems depends on the extent to which the concurrent entities can be executing in parallel, and on the amount of the remote reads and writes. ...

متن کامل

Behavioural Prototypes

Concurrent objects andmultiparty compatibility. Data types describe values; behavioural types such as multiparty session types [4] and typestate [3] describe interactions. Here we introduce a simple actor language and show how multiparty compatibility [1] can be used to statically type-check systems of concurrent objects whose interfaces evolve dynamically in response to messages. Our program i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1206.1687  شماره 

صفحات  -

تاریخ انتشار 2012